package eg.ci.mvn.service.api.model;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Map;

/**
 * BaseDTO
 */
@ToString
@Getter
@Setter
@JsonIgnoreProperties(value={
        "operatorId", "operatorName", "page", "offSize", "searchCount", "limit", "params",
}, allowSetters=true)
public class BaseDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 操作员Id */
    @Schema(description =  "操作员Id")
    private String operatorId;
    /** 操作员名称 */
    @Schema(description = "操作员名称")
    private String operatorName;

    /** 分页页码 */
    @JsonAlias({ "current", "page" })
    @Schema(description = "分页页码")
    private Integer page;

    /** 分页偏移量 */
    @Schema(description = "分页偏移量")
    private Integer offSize;

    /** 分页数量 */
    @Schema(description = "分页数量")
    private Integer limit;

    /** 是否查询总数 */
    @Schema(description = "是否查询总数")
    private Boolean searchCount = true;

    /** 扩展参数 */
    @Schema(description = "扩展参数")
    private Map<String, Object> params;
}

